[POWERPC][XEN] make sure put_domain() is called in case of allocate_rma() failuer
authorJimi Xenidis <jimix@watson.ibm.com>
Tue, 12 Sep 2006 14:53:46 +0000 (10:53 -0400)
committerJimi Xenidis <jimix@watson.ibm.com>
Tue, 12 Sep 2006 14:53:46 +0000 (10:53 -0400)
Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
xen/arch/powerpc/dom0_ops.c

index 059a2994f4baa1419adf604e5231a820a559b3b7..35d0e95581f822c14f52ff6226a0e359bd2b2060 100644 (file)
@@ -98,15 +98,14 @@ long arch_do_domctl(struct xen_domctl *domctl,
         struct domain *d;
         unsigned int log = domctl->u.real_mode_area.log;
 
+        ret = -ESRCH;
         d = find_domain_by_id(domctl->domain);
-        if (d == NULL)
-            return -ESRCH;
-
-        if (!cpu_rma_valid(log))
-            return -EINVAL;
-
-        ret = allocate_rma(d, log - PAGE_SHIFT);
-        put_domain(d);
+        if (d != NULL) {
+            ret = -EINVAL;
+            if (cpu_rma_valid(log))
+                ret = allocate_rma(d, log - PAGE_SHIFT);
+            put_domain(d);
+        }
     }
     break;